package com.pet.shop.service.option;

import com.pet.shop.entity.option.DataOptionVal;
import com.pet.shop.entity.option.DataOptionView;

import java.util.List;
import java.util.Map;

/**
 * Created by candy.zhao on 2016-11-8.
 */
public interface IDataOptionService {

    /**
     *
     * @param dataOptionVal
     */
    public void insertDataOptionVal(DataOptionVal dataOptionVal);

    /**
     *
     * @param dataOptionVal
     */
    public void updateDataOptionVal(DataOptionVal dataOptionVal);

    /**
     * 更新或者新增设置
     * @param dataOptionValList
     */
    public void saveDataOptionVal(List<DataOptionVal> dataOptionValList);

    /**
     * 根据商户管理id和数据类型查找设置，如果没有，自动设置默认值
     * @param userId 商户管理id
     * @param dataType 类型
     */
    public List<DataOptionView> queryDataOptionValByTypeId(Long userId, Integer dataType);

    /**
     * 根据商户管理id查询某个key设置的值，如果没有设置，取默认值
     * @param userId
     * @param key
     * @return
     */
    public DataOptionView queryDataOptionValByKeyId(Long userId, String key);

    /**
     *
     * @param userId
     * @param dataType
     * @return
     */
    public Map<String, String> queryDataOptionValMapByTypeId(Long userId, Integer dataType);

    /**
     *
     * @param userId
     * @param dataType
     * @return
     */
    List<DataOptionView> queryDataOptionValByTypeUserId(Long userId, Integer dataType);
}
